/***********************************************************************\
*                                                                       *
* This file was created by Component Internal Interface Engine software *
*  Copyright(c) 2000-2012 by Krzysztof Pozniak (pozniak@ise.pw.edu.pl)  *
*                           All Rights Reserved.                        *
*                                                                       *
\***********************************************************************/

package cii_kx1_car3;

import cii_lib.*;

public class CCII_DPM_PIPE {

  public CCII_COMPONENT _CII_DPM_PIPE;

  public static class CTLIST_WORK_MODE {
    private static class _CLIST_WORK_MODE {
      int[] _INPUT=new int[1];
      int[] _OUTPUT=new int[1];
      int[] _IN_OUT=new int[1];
      _CLIST_WORK_MODE() {
      _INPUT[0]=0;
      _OUTPUT[0]=1;
      _IN_OUT[0]=2;
      }
    }
    private static final _CLIST_WORK_MODE _LIST_WORK_MODE=new _CLIST_WORK_MODE();
    public CCII_ACCESS_SYMBLIST_ITEM INPUT;
    public CCII_ACCESS_SYMBLIST_ITEM OUTPUT;
    public CCII_ACCESS_SYMBLIST_ITEM IN_OUT;
    CTLIST_WORK_MODE() {
      INPUT=new CCII_ACCESS_SYMBLIST_ITEM("INPUT",1,_LIST_WORK_MODE._INPUT);
      OUTPUT=new CCII_ACCESS_SYMBLIST_ITEM("OUTPUT",1,_LIST_WORK_MODE._OUTPUT);
      IN_OUT=new CCII_ACCESS_SYMBLIST_ITEM("IN_OUT",1,_LIST_WORK_MODE._IN_OUT);
    }
  }
  public static class CLIST_WORK_MODE extends CCII_ACCESS_CONST {
    private CTLIST_WORK_MODE _Item;
    public CLIST_WORK_MODE(String name, int size) { super(name, size); _Item = new CTLIST_WORK_MODE();}
    public CTLIST_WORK_MODE Item() {return(_Item);};
  }
  public static final CLIST_WORK_MODE LIST_WORK_MODE = new CLIST_WORK_MODE("LIST_WORK_MODE",3);

  private CCII_ACCESS_IPAR _IPAR_DATA_WIDTH;
  private CCII_ACCESS_IPAR _IPAR_PIPE_LENGTH;
  public class CMPAR_CLK_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_CLK_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_CLK_ENA_CII _MPAR_CLK_ENA_CII;
  public class CMPAR_INPUT_CII extends CCII_ACCESS_MPAR {
    public CMPAR_INPUT_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_INPUT_CII _MPAR_INPUT_CII;
  public class CMPAR_WORK_MODE extends CCII_ACCESS_MPAR {
    public CMPAR_WORK_MODE(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCII_DPM_PIPE.CLIST_WORK_MODE GetList() {return(CCII_DPM_PIPE.LIST_WORK_MODE);}
  };
  private CMPAR_WORK_MODE _MPAR_WORK_MODE;
  private CCII_ACCESS_LPAR _LPAR_OUTPUT_REG;
  public class CMPAR_PIPE_INIT_CII extends CCII_ACCESS_MPAR {
    public CMPAR_PIPE_INIT_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_PIPE_INIT_CII _MPAR_PIPE_INIT_CII;
  public class CMPAR_LENGTH_CII extends CCII_ACCESS_MPAR {
    public CMPAR_LENGTH_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_LENGTH_CII _MPAR_LENGTH_CII;
  public class CMPAR_CHAN_ENA_CII extends CCII_ACCESS_MPAR {
    public CMPAR_CHAN_ENA_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_CHAN_ENA_CII _MPAR_CHAN_ENA_CII;
  public class CMPAR_PROC_REQ_CII extends CCII_ACCESS_MPAR {
    public CMPAR_PROC_REQ_CII(CCII_TABLE_INDEX itab, CCII_COMPONENT comp) { super(itab,comp);}
    public CCIISYS.CLIST_INTERF_CTRL GetList() {return(CCIISYS.LIST_INTERF_CTRL);}
  };
  private CMPAR_PROC_REQ_CII _MPAR_PROC_REQ_CII;
  private CCII_ACCESS_LPAR _LPAR_PROC_ACK_CII;
  private CCII_ACCESS_LPAR _LPAR_MEM_ACC_CII;
  private CCII_ACCESS_IPAR _IPAR_ADDR_WIDTH;
  private CCII_ACCESS_IR _BITS_CLK_ENA;
  private CCII_ACCESS_IR _BITS_PIPE_INIT;
  private CCII_ACCESS_IR _BITS_PROC_REQ;
  private CCII_ACCESS_RO _BITS_PROC_ACK;
  private CCII_ACCESS_IR _WORD_LENGTH;
  private CCII_DPM[] _COMP_DPM;
  public CCII_DPM_PIPE(CCII_TABLE_INDEX itab, int cidx, CCII_INTERFACE interf, CCII_COMPONENT parent) {
    _CII_DPM_PIPE=new CCII_COMPONENT(itab,cidx,parent);
    _IPAR_DATA_WIDTH=null;
    _IPAR_PIPE_LENGTH=null;
    _MPAR_CLK_ENA_CII=null;
    _MPAR_INPUT_CII=null;
    _MPAR_WORK_MODE=null;
    _LPAR_OUTPUT_REG=null;
    _MPAR_PIPE_INIT_CII=null;
    _MPAR_LENGTH_CII=null;
    _MPAR_CHAN_ENA_CII=null;
    _MPAR_PROC_REQ_CII=null;
    _LPAR_PROC_ACK_CII=null;
    _LPAR_MEM_ACC_CII=null;
    _IPAR_ADDR_WIDTH=null;
    _BITS_CLK_ENA=null;
    _BITS_PIPE_INIT=null;
    _BITS_PROC_REQ=null;
    _BITS_PROC_ACK=null;
    _WORD_LENGTH=null;
    _COMP_DPM=null;
    int _cnum_;
    if(_CII_DPM_PIPE.Number()==0) return;
    _IPAR_DATA_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_DPM_PIPE);
    _IPAR_PIPE_LENGTH = new CCII_ACCESS_IPAR(itab,_CII_DPM_PIPE);
    _MPAR_CLK_ENA_CII = new CMPAR_CLK_ENA_CII(itab,_CII_DPM_PIPE);
    _MPAR_INPUT_CII = new CMPAR_INPUT_CII(itab,_CII_DPM_PIPE);
    _MPAR_WORK_MODE = new CMPAR_WORK_MODE(itab,_CII_DPM_PIPE);
    _LPAR_OUTPUT_REG = new CCII_ACCESS_LPAR(itab,_CII_DPM_PIPE);
    _MPAR_PIPE_INIT_CII = new CMPAR_PIPE_INIT_CII(itab,_CII_DPM_PIPE);
    _MPAR_LENGTH_CII = new CMPAR_LENGTH_CII(itab,_CII_DPM_PIPE);
    _MPAR_CHAN_ENA_CII = new CMPAR_CHAN_ENA_CII(itab,_CII_DPM_PIPE);
    _MPAR_PROC_REQ_CII = new CMPAR_PROC_REQ_CII(itab,_CII_DPM_PIPE);
    _LPAR_PROC_ACK_CII = new CCII_ACCESS_LPAR(itab,_CII_DPM_PIPE);
    _LPAR_MEM_ACC_CII = new CCII_ACCESS_LPAR(itab,_CII_DPM_PIPE);
    _IPAR_ADDR_WIDTH = new CCII_ACCESS_IPAR(itab,_CII_DPM_PIPE);
    _BITS_CLK_ENA = new CCII_ACCESS_IR(itab,interf,_CII_DPM_PIPE);
    _BITS_PIPE_INIT = new CCII_ACCESS_IR(itab,interf,_CII_DPM_PIPE);
    _BITS_PROC_REQ = new CCII_ACCESS_IR(itab,interf,_CII_DPM_PIPE);
    _BITS_PROC_ACK = new CCII_ACCESS_RO(itab,interf,_CII_DPM_PIPE);
    _WORD_LENGTH = new CCII_ACCESS_IR(itab,interf,_CII_DPM_PIPE);
    _COMP_DPM = new CCII_DPM[_cnum_=Math.max(itab.GetItem().Repeat,1)];
    for (int count=0; count<_cnum_; count ++)
      _COMP_DPM[count]=new CCII_DPM(itab,count,interf,_CII_DPM_PIPE);
  }
  public CCII_COMPONENT CII_DPM_PIPE() {return(_CII_DPM_PIPE.Number()==0?null:_CII_DPM_PIPE);};
  public CCII_ACCESS_IPAR IPAR_DATA_WIDTH() {return(_IPAR_DATA_WIDTH);};
  public CCII_ACCESS_IPAR IPAR_PIPE_LENGTH() {return(_IPAR_PIPE_LENGTH);};
  public CMPAR_CLK_ENA_CII MPAR_CLK_ENA_CII() {return(_MPAR_CLK_ENA_CII);};
  public CMPAR_INPUT_CII MPAR_INPUT_CII() {return(_MPAR_INPUT_CII);};
  public CMPAR_WORK_MODE MPAR_WORK_MODE() {return(_MPAR_WORK_MODE);};
  public CCII_ACCESS_LPAR LPAR_OUTPUT_REG() {return(_LPAR_OUTPUT_REG);};
  public CMPAR_PIPE_INIT_CII MPAR_PIPE_INIT_CII() {return(_MPAR_PIPE_INIT_CII);};
  public CMPAR_LENGTH_CII MPAR_LENGTH_CII() {return(_MPAR_LENGTH_CII);};
  public CMPAR_CHAN_ENA_CII MPAR_CHAN_ENA_CII() {return(_MPAR_CHAN_ENA_CII);};
  public CMPAR_PROC_REQ_CII MPAR_PROC_REQ_CII() {return(_MPAR_PROC_REQ_CII);};
  public CCII_ACCESS_LPAR LPAR_PROC_ACK_CII() {return(_LPAR_PROC_ACK_CII);};
  public CCII_ACCESS_LPAR LPAR_MEM_ACC_CII() {return(_LPAR_MEM_ACC_CII);};
  public CCII_ACCESS_IPAR IPAR_ADDR_WIDTH() {return(_IPAR_ADDR_WIDTH);};
  public CCII_ACCESS_IR BITS_CLK_ENA() {return(_BITS_CLK_ENA);};
  public CCII_ACCESS_IR BITS_PIPE_INIT() {return(_BITS_PIPE_INIT);};
  public CCII_ACCESS_IR BITS_PROC_REQ() {return(_BITS_PROC_REQ);};
  public CCII_ACCESS_RO BITS_PROC_ACK() {return(_BITS_PROC_ACK);};
  public CCII_ACCESS_IR WORD_LENGTH() {return(_WORD_LENGTH);};
  public CCII_DPM COMP_DPM(int num) {return(_COMP_DPM[num].CII_DPM()==null?null:_COMP_DPM[num]);};
}
